From: Florian Müllner Date: Wed, 4 Dec 2019 19:01:41 +0000 (+0100) Subject: keyboard: Create extended keys before updating hover state X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~781^2^2~338 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=7fbdaadce27305d7145fe4ec4fc7fd063ebad2c0;p=gnome-shell.git keyboard: Create extended keys before updating hover state We want extended keys to have the same size as their parent key, but this is currently broken and the keys end up with their parent key's preferred size (which is smaller than its allocated size). This is due to the way ClutterActor's width/height properties work, which only return the "real" (i.e. allocated) size when the allocation is valid, and fall back to the preferred size otherwise. As changing an StWidget's hover state involves adding or removing the `:hover` pseudo class, this is currently always the case. Creating the extended keys first means the keyButton's allocation is probably valid, so do that. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1976 --- diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js index 0d40c8357..d5591c317 100644 --- a/js/ui/keyboard.js +++ b/js/ui/keyboard.js @@ -328,9 +328,9 @@ var Key = GObject.registerClass({ if (this._extendedKeys.length > 0) { this._touchPressed = false; + this._ensureExtendedKeysPopup(); this.keyButton.set_hover(false); this.keyButton.fake_release(); - this._ensureExtendedKeysPopup(); this._showSubkeys(); }